\section{Discusión}
En los cuadros 1, 2 y 3 evaluamos los autovalores que nos devuelve el algoritmo
QR para 500 iteraciones. En la primer columna de 
las tres tablas se ven los autovalores que devuelve el algoritmo QR utilazndo el
método de Householder (reflexiones) para factorizar
la matriz. En la segunda columna se ven los autovalores utilizando el método de
Givens (rotaciones). Como se puede ver, independendientemente
de la matriz con la que estemos trabajando, la utilización de un método u otro
es indistinto dado que la factorización QR de una
matriz A es única.
\\
Sin embargo podría pasar que si bien dan los mismos valores, utilizar un método
u otro puede afectar el tiempo de ejecución del algoritmo, o la cantidad
de iteraciones que debe hacer (en este caso utilizaremos el término iteraciones
para referirnos a la cantidad de veces que el método de factorización
debe calcular la matriz $W$ que utilizará para ir triangulando la matriz $A$).
\\
En los cuadros 4 y 5 podemos observar como varía la cantidad de iteraciones a
medida que modificamos el tamaño de la matriz.
El cuadro 4 corresponde a utilizar Reflexiones y el cuadro 5 a utilizar
Rotaciones, como se puede ver, de nuevo no depende del
método para factorizar que utilizemos, las iteraciones son las mismas (es decir
que las veces que se calcula la matriz $W$ son las
mismas en ambos métodos). Sin embargo sabemos que el método de Givens calcula la
matriz $W$ por cada elemento de la matriz
que quiera hacer $0$, mientras que Householder la calcula por cada columna
(exceptuando la última), pero por la forma de la matriz que estamos factorizando
(es una matriz tridiagonal) Givens solo debe modificar un valor para hacerlo
$0$, por lo tanto, este algoritmo calcula
la matriz $W$ una vez por columna (exceptuando la última) por eso estas
iteraciones nos dieron iguales para ambos métodos. Sin embargo
vale destacar que la creación de la matriz de rotaciones de Givens utiliza menos
calculos que la matriz de reflexiones de Householder, entonces
Givens debería utilizar menos tiempo de computo.
\\
Como efectivamente podemos ver en los Gráficos 3, 4, 5 y 6, las predicciones se
cumplen: Givens toma menos tiempo en casi todos los casos. Para obtener estos
gráficos se corrieron las distintas heurísticas para calcular el tiempo que
tomaba en terminar. Para cada heurística utilizamos dos opciones para realizar
la factorización QR: utilizar Givens o Householder. Lo que vemos en estos
gráficos es que para casi todos los casos, cuando se utilizó el método de Givens
la heurística tardo menos. Esto se debe a que Givens, si bien debe calcular la
cantidad de veces la matriz de triangulación (es decir $W$) es matriz mas simple
(es casi la matriz identidad) y además más fácil de calcular que la de
Householder. Al realizar menos operaciones esto refleja un menor tiempo de
ejecución para la heurística.
\\
Otra cosa que quisimos comparar fue el comportamiento del algoritmo QR, para
esto realizamos una experiencia en la que evaluamos la cantidad de iteraciones
que le toma al algoritmo alcanzar un error determinado que es utilizado en el
criterio de parada.
El criterio de parada que utilizamos para este algoritmo (QR) fue el de ver si
la matriz que calcula este algoritmo es triangular superior. El párametro de
error que variamos define qué tanto queremos que cada valor de los que están
debajo de la diagonal se aproximen al cero.
El gráfico 2 es el que muestra los resultados de esta experiencia, como podemos
ver es claro la linealidad con la que se relaciona el error con las iteraciones
si bien podemos notar que realiza varias iteraciones (llega a 1600). El primer
criterio que habiamos analizado para este trabajo consistía en simplemente
analizar en cuanto diferían en cada iteración el primer valor de la diagonal.
Sin embargo este era un criterio malo ya que el resto de los valores no los
analizabamos y nos quedamos con una porción mínima de la matriz. Es por eso que
optamos por revisar que la matriz toda aproxime a una triangular superior.
\\
Finalmente realizamos experiencias para comparar las heurísticas que
implementamos.
Estas se caracterizan de la siguiente forma:
\\
$ $
\\
\textbf{Heuristica 1:} Busco el primer piso inseguro y le saco un auto pesado y
un auto liviano (en caso de no haber alguno de los 2, saco 1 solo) y se lo
agrego al primer piso seguro
\\
\textbf{Heuristica 2:} Busco el primer piso inseguro y le saco un auto pesado y
se lo agrego al primer piso seguro, en caso de no haber mas pesados, saco los
livianos
\\
\textbf{Heuristica 3:} Saco un auto liviano y un pesado si el coeficiente de
rigidez de un piso critico es menor a tres y lo agrego a un piso que sea critico
y tengo el coeficiente mayor a tres o a cualquiera que sea mayor a tres
\\
\textbf{Heuristica 4:} Agrego un auto liviano y un pesado si el coeficiente de
rigidez de un piso critico es menor a tres y los saco de un piso que sea critico
y tengo el coeficiente mayor a tres o a cualquiera que sea mayor a tres
\\
$ $
\\
Los resultados de las experiencias que comparan estos algoritmos se pueden
apreciar en los Gráficos 7 y 8. Como se puede ver hay muchos casos que no tienen
solución (aquellos en los que los movientos son 0). Lo que podemos notar es que
distintas heurísticas funcionan para distintos casos. Esto complica comparar en
cuanto a los resultados, aunque se puede ver que la heurística 3 es la que
soluciona más casos. Sin embargo también es la que más tarda, pero veamos que
tarda casi lo mismo que el resto de las heurísticas cuando obtiene resultados,
pero tarda mucho más cuando no lo obtiene. En conclusión, si bien la heurística
3 obtiene solución para más casos, puede tardar mucho en decidir que no puede
encontrar una solución. Tengamos en cuenta que la heurística 3 es la que analiza
más detalladamente qué autos mover, mueve de a dos y se fija que cumplan cierta
condición, tratando de solucionar dos pisos a la vez (es decir dejar su
frecuencia en valores seguros). Por otro lado, las heurísticas 1 y 2 se
comportan de manera muy
similar ya que funcionan con la misma idea: sacan autos de los pisos inseguros
moviendolos a los seguros. Sin embargo algo interesante de ver
es que la heurística 4 se comporta igual que la 3 pero sus resultados son
altamente peores que esta. Notemos que no resuelve más de dos casos y
si bien sus tiempos no son malos, difieren bastante con los de la 3. Es
interesante notar que
esto pase, dado que en lo único que difieren es en que una pone autos a un piso
y la otra lo saca. 
